<!-- 组件使用文档： https://gitee.com/zuohuaijun/RuoVea/pulls/1559  -->
<script setup lang="ts">
import { reactive, watch, PropType } from 'vue';
import { DictItem } from '/@/types/global';
// import { useUserInfo } from '/@/stores/userInfo';

const emit = defineEmits(['update:modelValue']);
// const dictList = useUserInfo().dictList;
const dictList={
  "code_gen_query_type": [
    {
      "typeCode": "code_gen_query_type",
      "label": "等于",
      "value": "==",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "等于",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_query_type",
      "label": "模糊",
      "value": "like",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "模糊",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_query_type",
      "label": "大于",
      "value": ">",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "大于",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_query_type",
      "label": "小于",
      "value": "<",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "小于",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_query_type",
      "label": "不等于",
      "value": "!=",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "不等于",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_query_type",
      "label": "大于等于",
      "value": ">=",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "大于等于",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_query_type",
      "label": "小于等于",
      "value": "<=",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "小于等于",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_query_type",
      "label": "不为空",
      "value": "isNotNull",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "不为空",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_query_type",
      "label": "时间范围",
      "value": "~",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "时间范围",
      "sort": 1,
      "status": 1
    }
  ],
  "code_gen_net_type": [
    {
      "typeCode": "code_gen_net_type",
      "label": "long",
      "value": "long",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "long",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_net_type",
      "label": "string",
      "value": "string",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "string",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_net_type",
      "label": "DateTime",
      "value": "DateTime",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "DateTime",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_net_type",
      "label": "bool",
      "value": "bool",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "bool",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_net_type",
      "label": "int",
      "value": "int",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "int",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_net_type",
      "label": "double",
      "value": "double",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "double",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_net_type",
      "label": "float",
      "value": "float",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "float",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_net_type",
      "label": "decimal",
      "value": "decimal",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "decimal",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_net_type",
      "label": "Guid",
      "value": "Guid",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "Guid",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_net_type",
      "label": "DateTimeOffset",
      "value": "DateTimeOffset",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "DateTimeOffset",
      "sort": 1,
      "status": 1
    }
  ],
  "code_gen_create_type": [
    {
      "typeCode": "code_gen_create_type",
      "label": "下载压缩包",
      "value": "100",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "下载压缩包",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_create_type",
      "label": "下载压缩包(前端)",
      "value": "111",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "下载压缩包(前端)",
      "sort": 2,
      "status": 1
    },
    {
      "typeCode": "code_gen_create_type",
      "label": "下载压缩包(后端)",
      "value": "121",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "下载压缩包(后端)",
      "sort": 3,
      "status": 1
    },
    {
      "typeCode": "code_gen_create_type",
      "label": "生成到本项目",
      "value": "200",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "生成到本项目",
      "sort": 4,
      "status": 1
    },
    {
      "typeCode": "code_gen_create_type",
      "label": "生成到本项目(前端)",
      "value": "211",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "生成到本项目(前端)",
      "sort": 5,
      "status": 1
    },
    {
      "typeCode": "code_gen_create_type",
      "label": "生成到本项目(后端)",
      "value": "221",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "生成到本项目(后端)",
      "sort": 6,
      "status": 1
    }
  ],
  "code_gen_base_class": [
    {
      "typeCode": "code_gen_base_class",
      "label": "EntityBaseId【基础实体Id】",
      "value": "EntityBaseId",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "【基础实体Id】",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_base_class",
      "label": "EntityBase【基础实体】",
      "value": "EntityBase",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "【基础实体】",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_base_class",
      "label": "EntityTenantId【租户实体Id】",
      "value": "EntityTenantId",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "【租户实体Id】",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_base_class",
      "label": "EntityTenant【租户实体】",
      "value": "EntityTenant",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "【租户实体】",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_base_class",
      "label": "EntityBaseData【业务实体】",
      "value": "EntityBaseData",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "【业务实体】",
      "sort": 1,
      "status": 1
    },
    {
      "typeCode": "code_gen_base_class",
      "label": "EntityTenantBaseData【租户业务实体】",
      "value": "EntityTenantBaseData",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "【租户业务实体】",
      "sort": 1,
      "status": 1
    }
  ],
  "GoViewProStateEnum": [
    {
      "typeCode": "GoViewProStateEnum",
      "label": "未发布",
      "value": "-1",
      "code": "UnPublish",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 9,
      "status": 1
    },
    {
      "typeCode": "GoViewProStateEnum",
      "label": "已发布",
      "value": "1",
      "code": "Published",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    }
  ],
  "CacheTypeEnum": [
    {
      "typeCode": "CacheTypeEnum",
      "label": "内存缓存",
      "value": "0",
      "code": "Memory",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 10,
      "status": 1
    },
    {
      "typeCode": "CacheTypeEnum",
      "label": "Redis缓存",
      "value": "1",
      "code": "Redis",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    }
  ],
  "CardTypeEnum": [
    {
      "typeCode": "CardTypeEnum",
      "label": "身份证",
      "value": "0",
      "code": "IdCard",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 10,
      "status": 1
    },
    {
      "typeCode": "CardTypeEnum",
      "label": "护照",
      "value": "1",
      "code": "PassportCard",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "CardTypeEnum",
      "label": "出生证",
      "value": "2",
      "code": "BirthCard",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    },
    {
      "typeCode": "CardTypeEnum",
      "label": "港澳台通行证",
      "value": "3",
      "code": "GatCard",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 13,
      "status": 1
    },
    {
      "typeCode": "CardTypeEnum",
      "label": "外国人居留证",
      "value": "4",
      "code": "ForeignCard",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 14,
      "status": 1
    },
    {
      "typeCode": "CardTypeEnum",
      "label": "营业执照",
      "value": "5",
      "code": "License",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 15,
      "status": 1
    }
  ],
  "CryptogramEnum": [
    {
      "typeCode": "CryptogramEnum",
      "label": "MD5",
      "value": "0",
      "code": "MD5",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 10,
      "status": 1
    },
    {
      "typeCode": "CryptogramEnum",
      "label": "SM2",
      "value": "1",
      "code": "SM2",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "CryptogramEnum",
      "label": "SM4",
      "value": "2",
      "code": "SM4",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    }
  ],
  "CultureLevelEnum": [
    {
      "typeCode": "CultureLevelEnum",
      "label": "其他",
      "value": "0",
      "code": "Level0",
      "tagType": "info",
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 10,
      "status": 1
    },
    {
      "typeCode": "CultureLevelEnum",
      "label": "文盲",
      "value": "1",
      "code": "Level1",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "CultureLevelEnum",
      "label": "小学",
      "value": "2",
      "code": "Level2",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    },
    {
      "typeCode": "CultureLevelEnum",
      "label": "初中",
      "value": "3",
      "code": "Level3",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 13,
      "status": 1
    },
    {
      "typeCode": "CultureLevelEnum",
      "label": "普通高中",
      "value": "4",
      "code": "Level4",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 14,
      "status": 1
    },
    {
      "typeCode": "CultureLevelEnum",
      "label": "技工学校",
      "value": "5",
      "code": "Level5",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 15,
      "status": 1
    },
    {
      "typeCode": "CultureLevelEnum",
      "label": "职业教育",
      "value": "6",
      "code": "Level6",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 16,
      "status": 1
    },
    {
      "typeCode": "CultureLevelEnum",
      "label": "职业高中",
      "value": "7",
      "code": "Level7",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 17,
      "status": 1
    },
    {
      "typeCode": "CultureLevelEnum",
      "label": "中等专科",
      "value": "8",
      "code": "Level8",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 18,
      "status": 1
    },
    {
      "typeCode": "CultureLevelEnum",
      "label": "大学专科",
      "value": "9",
      "code": "Level9",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 19,
      "status": 1
    },
    {
      "typeCode": "CultureLevelEnum",
      "label": "大学本科",
      "value": "10",
      "code": "Level10",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 20,
      "status": 1
    },
    {
      "typeCode": "CultureLevelEnum",
      "label": "硕士研究生",
      "value": "11",
      "code": "Level11",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 21,
      "status": 1
    },
    {
      "typeCode": "CultureLevelEnum",
      "label": "博士研究生",
      "value": "12",
      "code": "Level12",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 22,
      "status": 1
    }
  ],
  "DataOpTypeEnum": [
    {
      "typeCode": "DataOpTypeEnum",
      "label": "其它",
      "value": "0",
      "code": "Other",
      "tagType": "info",
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 10,
      "status": 1
    },
    {
      "typeCode": "DataOpTypeEnum",
      "label": "增加",
      "value": "1",
      "code": "Add",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "DataOpTypeEnum",
      "label": "删除",
      "value": "2",
      "code": "Delete",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    },
    {
      "typeCode": "DataOpTypeEnum",
      "label": "编辑",
      "value": "3",
      "code": "Edit",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 13,
      "status": 1
    },
    {
      "typeCode": "DataOpTypeEnum",
      "label": "更新",
      "value": "4",
      "code": "Update",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 14,
      "status": 1
    },
    {
      "typeCode": "DataOpTypeEnum",
      "label": "查询",
      "value": "5",
      "code": "Query",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 15,
      "status": 1
    },
    {
      "typeCode": "DataOpTypeEnum",
      "label": "详情",
      "value": "6",
      "code": "Detail",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 16,
      "status": 1
    },
    {
      "typeCode": "DataOpTypeEnum",
      "label": "树",
      "value": "7",
      "code": "Tree",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 17,
      "status": 1
    },
    {
      "typeCode": "DataOpTypeEnum",
      "label": "导入",
      "value": "8",
      "code": "Import",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 18,
      "status": 1
    },
    {
      "typeCode": "DataOpTypeEnum",
      "label": "导出",
      "value": "9",
      "code": "Export",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 19,
      "status": 1
    },
    {
      "typeCode": "DataOpTypeEnum",
      "label": "授权",
      "value": "10",
      "code": "Grant",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 20,
      "status": 1
    },
    {
      "typeCode": "DataOpTypeEnum",
      "label": "强退",
      "value": "11",
      "code": "Force",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 21,
      "status": 1
    },
    {
      "typeCode": "DataOpTypeEnum",
      "label": "清空",
      "value": "12",
      "code": "Clean",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 22,
      "status": 1
    }
  ],
  "DingTalkConversationTypeEnum": [
    {
      "typeCode": "DingTalkConversationTypeEnum",
      "label": "单聊",
      "value": "0",
      "code": "SingleChat",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 10,
      "status": 1
    },
    {
      "typeCode": "DingTalkConversationTypeEnum",
      "label": "群聊",
      "value": "1",
      "code": "GroupChat",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    }
  ],
  "FilterLogicEnum": [
    {
      "typeCode": "FilterLogicEnum",
      "label": "并且",
      "value": "0",
      "code": "And",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 10,
      "status": 1
    },
    {
      "typeCode": "FilterLogicEnum",
      "label": "或者",
      "value": "1",
      "code": "Or",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "FilterLogicEnum",
      "label": "异或",
      "value": "2",
      "code": "Xor",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    }
  ],
  "FilterOperatorEnum": [
    {
      "typeCode": "FilterOperatorEnum",
      "label": "等于",
      "value": "0",
      "code": "EQ",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 10,
      "status": 1
    },
    {
      "typeCode": "FilterOperatorEnum",
      "label": "不等于",
      "value": "1",
      "code": "NEQ",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "FilterOperatorEnum",
      "label": "小于",
      "value": "2",
      "code": "LT",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    },
    {
      "typeCode": "FilterOperatorEnum",
      "label": "小于等于",
      "value": "3",
      "code": "LTE",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 13,
      "status": 1
    },
    {
      "typeCode": "FilterOperatorEnum",
      "label": "大于",
      "value": "4",
      "code": "GT",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 14,
      "status": 1
    },
    {
      "typeCode": "FilterOperatorEnum",
      "label": "大于等于",
      "value": "5",
      "code": "GTE",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 15,
      "status": 1
    },
    {
      "typeCode": "FilterOperatorEnum",
      "label": "开始包含",
      "value": "6",
      "code": "StartsWith",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 16,
      "status": 1
    },
    {
      "typeCode": "FilterOperatorEnum",
      "label": "末尾包含",
      "value": "7",
      "code": "EndsWith",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 17,
      "status": 1
    },
    {
      "typeCode": "FilterOperatorEnum",
      "label": "包含",
      "value": "8",
      "code": "Contains",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 18,
      "status": 1
    }
  ],
  "FinishStatusEnum": [
    {
      "typeCode": "FinishStatusEnum",
      "label": "未完成",
      "value": "0",
      "code": "UnFinish",
      "tagType": "danger",
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 10,
      "status": 1
    },
    {
      "typeCode": "FinishStatusEnum",
      "label": "已完成",
      "value": "1",
      "code": "Finish",
      "tagType": "success",
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    }
  ],
  
  "HttpMethodEnum": [
    {
      "typeCode": "HttpMethodEnum",
      "label": "HTTP \"GET\" method.",
      "value": "0",
      "code": "Get",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 10,
      "status": 1
    },
    {
      "typeCode": "HttpMethodEnum",
      "label": "HTTP \"POST\" method.",
      "value": "1",
      "code": "Post",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "HttpMethodEnum",
      "label": " HTTP \"PUT\" method.",
      "value": "2",
      "code": "Put",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    },
    {
      "typeCode": "HttpMethodEnum",
      "label": "HTTP \"DELETE\" method.",
      "value": "3",
      "code": "Delete",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 13,
      "status": 1
    },
    {
      "typeCode": "HttpMethodEnum",
      "label": "HTTP \"PATCH\" method. ",
      "value": "4",
      "code": "Patch",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 14,
      "status": 1
    },
    {
      "typeCode": "HttpMethodEnum",
      "label": "HTTP \"HEAD\" method.",
      "value": "5",
      "code": "Head",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 15,
      "status": 1
    },
    {
      "typeCode": "HttpMethodEnum",
      "label": "HTTP \"OPTIONS\" method.",
      "value": "6",
      "code": "Options",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 16,
      "status": 1
    },
    {
      "typeCode": "HttpMethodEnum",
      "label": " HTTP \"TRACE\" method.",
      "value": "7",
      "code": "Trace",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 17,
      "status": 1
    },
    {
      "typeCode": "HttpMethodEnum",
      "label": "HTTP \"CONNECT\" method.",
      "value": "8",
      "code": "Connect",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 18,
      "status": 1
    }
  ],
  "JobCreateTypeEnum": [
    {
      "typeCode": "JobCreateTypeEnum",
      "label": "内置",
      "value": "0",
      "code": "BuiltIn",
      "tagType": "info",
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 10,
      "status": 1
    },
    {
      "typeCode": "JobCreateTypeEnum",
      "label": "脚本",
      "value": "1",
      "code": "Script",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "JobCreateTypeEnum",
      "label": "HTTP请求",
      "value": "2",
      "code": "Http",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    }
  ],
  "MessageTypeEnum": [
    {
      "typeCode": "MessageTypeEnum",
      "label": "消息",
      "value": "0",
      "code": "Info",
      "tagType": "info",
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 10,
      "status": 1
    },
    {
      "typeCode": "MessageTypeEnum",
      "label": "成功",
      "value": "1",
      "code": "Success",
      "tagType": "success",
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "MessageTypeEnum",
      "label": "警告",
      "value": "2",
      "code": "Warning",
      "tagType": "warning",
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    },
    {
      "typeCode": "MessageTypeEnum",
      "label": "错误",
      "value": "3",
      "code": "Error",
      "tagType": "danger",
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 13,
      "status": 1
    }
  ],
  "NoticeStatusEnum": [
    {
      "typeCode": "NoticeStatusEnum",
      "label": "草稿",
      "value": "0",
      "code": "DRAFT",
      "tagType": "info",
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 10,
      "status": 1
    },
    {
      "typeCode": "NoticeStatusEnum",
      "label": "发布",
      "value": "1",
      "code": "PUBLIC",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "NoticeStatusEnum",
      "label": "撤回",
      "value": "2",
      "code": "CANCEL",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    },
    {
      "typeCode": "NoticeStatusEnum",
      "label": "删除",
      "value": "3",
      "code": "DELETED",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 13,
      "status": 1
    }
  ],
  "NoticeUserStatusEnum": [
    {
      "typeCode": "NoticeUserStatusEnum",
      "label": "未读",
      "value": "0",
      "code": "UNREAD",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 10,
      "status": 1
    },
    {
      "typeCode": "NoticeUserStatusEnum",
      "label": "已读",
      "value": "1",
      "code": "READ",
      "tagType": "info",
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    }
  ],
  "RequestTypeEnum": [
    {
      "typeCode": "RequestTypeEnum",
      "label": "Run",
      "value": "0",
      "code": "Run",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 10,
      "status": 1
    },
    {
      "typeCode": "RequestTypeEnum",
      "label": "Get",
      "value": "1",
      "code": "Get",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "RequestTypeEnum",
      "label": "Post",
      "value": "2",
      "code": "Post",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    },
    {
      "typeCode": "RequestTypeEnum",
      "label": "Put",
      "value": "3",
      "code": "Put",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 13,
      "status": 1
    },
    {
      "typeCode": "RequestTypeEnum",
      "label": "Delete",
      "value": "4",
      "code": "Delete",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 14,
      "status": 1
    }
  ],
  "TenantTypeEnum": [
    {
      "typeCode": "TenantTypeEnum",
      "label": "Id隔离",
      "value": "0",
      "code": "Id",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 10,
      "status": 1
    },
    {
      "typeCode": "TenantTypeEnum",
      "label": "库隔离",
      "value": "1",
      "code": "Db",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    }
  ],
  "GenderEnum": [
    {
      "typeCode": "GenderEnum",
      "label": "未知",
      "value": 3,
      "code": "Unknown",
      "tagType": "info",
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 10,
      "status": 1
    },
    {
      "typeCode": "GenderEnum",
      "label": "男性",
      "value": 1,
      "code": "Male",
      "tagType": "success",
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "GenderEnum",
      "label": "女性",
      "value": 2,
      "code": "Female",
      "tagType": "danger",
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    },
  ],
  "DataScopeEnum": [
    {
      "typeCode": "DataScopeEnum",
      "label": "全部数据",
      "value": 1,
      "code": "All",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "DataScopeEnum",
      "label": "本部门及以下数据",
      "value": 2,
      "code": "DeptChild",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    },
    {
      "typeCode": "DataScopeEnum",
      "label": "本部门数据",
      "value": 3,
      "code": "Dept",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 13,
      "status": 1
    },
    {
      "typeCode": "DataScopeEnum",
      "label": "仅本人数据",
      "value": 4,
      "code": "Self",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 14,
      "status": 1
    },
    {
      "typeCode": "DataScopeEnum",
      "label": "自定义数据",
      "value": 5,
      "code": "Define",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 15,
      "status": 1
    }
  ],
  "ElasticSearchAuthTypeEnum": [
    {
      "typeCode": "ElasticSearchAuthTypeEnum",
      "label": "BasicAuthentication",
      "value": "1",
      "code": "Basic",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "ElasticSearchAuthTypeEnum",
      "label": "ApiKey",
      "value": "2",
      "code": "ApiKey",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    },
    {
      "typeCode": "ElasticSearchAuthTypeEnum",
      "label": "Base64ApiKey",
      "value": "3",
      "code": "Base64ApiKey",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 13,
      "status": 1
    }
  ],
  "JobStatusEnum": [
    {
      "typeCode": "JobStatusEnum",
      "label": "在职",
      "value": "1",
      "code": "On",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "JobStatusEnum",
      "label": "离职",
      "value": "2",
      "code": "Off",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    },
    {
      "typeCode": "JobStatusEnum",
      "label": "请假",
      "value": "3",
      "code": "Leave",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 13,
      "status": 1
    },
    {
      "typeCode": "JobStatusEnum",
      "label": "其他",
      "value": "4",
      "code": "Other",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 14,
      "status": 1
    }
  ],
  "LoginModeEnum": [
    {
      "typeCode": "LoginModeEnum",
      "label": "PC模式",
      "value": "1",
      "code": "PC",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "LoginModeEnum",
      "label": "APP",
      "value": "2",
      "code": "APP",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    }
  ],
  "LoginTypeEnum": [
    {
      "typeCode": "LoginTypeEnum",
      "label": "PC登录",
      "value": "1",
      "code": "Login",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "LoginTypeEnum",
      "label": "PC退出",
      "value": "2",
      "code": "Logout",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    },
    {
      "typeCode": "LoginTypeEnum",
      "label": "PC注册",
      "value": "3",
      "code": "Register",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 13,
      "status": 1
    }
  ],
  "MaritalStatusEnum": [
    {
      "typeCode": "MaritalStatusEnum",
      "label": "未婚",
      "value": "1",
      "code": "UnMarried",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "MaritalStatusEnum",
      "label": "已婚",
      "value": "2",
      "code": "Married",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    },
    {
      "typeCode": "MaritalStatusEnum",
      "label": "离异",
      "value": "3",
      "code": "Divorce",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 13,
      "status": 1
    },
    {
      "typeCode": "MaritalStatusEnum",
      "label": "再婚",
      "value": "4",
      "code": "Remarry",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 14,
      "status": 1
    },
    {
      "typeCode": "MaritalStatusEnum",
      "label": "丧偶",
      "value": "5",
      "code": "Widowed",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 15,
      "status": 1
    },
    {
      "typeCode": "MaritalStatusEnum",
      "label": "未知",
      "value": "6",
      "code": "None",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 16,
      "status": 1
    }
  ],
  "MenuTypeEnum": [
    {
      "typeCode": "MenuTypeEnum",
      "label": "目录",
      "value": 0,
      "code": "Dir",
      "tagType": "warning",
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "MenuTypeEnum",
      "label": "菜单",
      "value": 1,
      "code": "Menu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    },
    {
      "typeCode": "MenuTypeEnum",
      "label": "按钮",
      "value": 2,
      "code": "Btn",
      "tagType": "info",
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 13,
      "status": 1
    }
  ],
  "NationEnum": [
    {
      "typeCode": "NationEnum",
      "label": "汉族",
      "value": "1",
      "code": "HanZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "壮族",
      "value": "2",
      "code": "ZhuangZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "满族",
      "value": "3",
      "code": "ManZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 13,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "回族",
      "value": "4",
      "code": "HuiZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 14,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "苗族",
      "value": "5",
      "code": "MiaoZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 15,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "维吾尔族",
      "value": "6",
      "code": "WeiWuErZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 16,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "土家族",
      "value": "7",
      "code": "TuJiaZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 17,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "彝族",
      "value": "8",
      "code": "YiZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 18,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "蒙古族",
      "value": "9",
      "code": "MengGuZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 19,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "藏族",
      "value": "10",
      "code": "ZangZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 20,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "布依族",
      "value": "11",
      "code": "BuYiZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 21,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "侗族",
      "value": "12",
      "code": "DongZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 22,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "瑶族",
      "value": "13",
      "code": "YaoZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 23,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "朝鲜族",
      "value": "14",
      "code": "ChaoXianZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 24,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "白族",
      "value": "15",
      "code": "BaiZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 25,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "哈尼族",
      "value": "16",
      "code": "HaNiZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 26,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "哈萨克族",
      "value": "17",
      "code": "HaSaKeZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 27,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "黎族",
      "value": "18",
      "code": "LiZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 28,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "傣族",
      "value": "19",
      "code": "DaiZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 29,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "畲族",
      "value": "20",
      "code": "SheZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 30,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "傈僳族",
      "value": "21",
      "code": "LiSuZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 31,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "仡佬族",
      "value": "22",
      "code": "GeLaoZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 32,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "拉祜族",
      "value": "23",
      "code": "LaHuZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 33,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "东乡族",
      "value": "24",
      "code": "DongXiangZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 34,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "纳西族",
      "value": "25",
      "code": "NaXiZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 35,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "景颇族",
      "value": "26",
      "code": "JingPoZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 36,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "柯尔克孜族",
      "value": "27",
      "code": "KeErKeZiZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 37,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "土族",
      "value": "28",
      "code": "TuZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 38,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "达斡尔族",
      "value": "29",
      "code": "DaWoErZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 39,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "仫佬族",
      "value": "30",
      "code": "MuLaoZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 40,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "羌族",
      "value": "31",
      "code": "QiangZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 41,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "布朗族",
      "value": "32",
      "code": "BuLangZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 42,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "撒拉族",
      "value": "33",
      "code": "SaLaZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 43,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "毛南族",
      "value": "34",
      "code": "MaoNanZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 44,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "仡族",
      "value": "35",
      "code": "GeZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 45,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "锡伯族",
      "value": "36",
      "code": "XiBoZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 46,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "阿昌族",
      "value": "37",
      "code": "AChangZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 47,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "普米族",
      "value": "38",
      "code": "PuMiZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 48,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "塔吉克族",
      "value": "39",
      "code": "TaJiKeZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 49,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "怒族",
      "value": "40",
      "code": "NuZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 50,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "乌孜别克族",
      "value": "41",
      "code": "WuZiBieKeZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 51,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "俄罗斯族",
      "value": "42",
      "code": "ELuoSiZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 52,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "鄂温克族",
      "value": "43",
      "code": "EwenKeZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 53,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "德昂族",
      "value": "44",
      "code": "DeAngZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 54,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "保安族",
      "value": "45",
      "code": "BaoAnZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 55,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "裕固族",
      "value": "46",
      "code": "YuGuZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 56,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "京族",
      "value": "47",
      "code": "JingZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 57,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "塔塔尔族",
      "value": "48",
      "code": "TaTaErZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 58,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "独龙族",
      "value": "49",
      "code": "DuLongZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 59,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "鄂伦春族",
      "value": "50",
      "code": "ELunChunZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 60,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "赫哲族",
      "value": "51",
      "code": "HeZheZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 61,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "门巴族",
      "value": "52",
      "code": "MenBaZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 62,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "珞巴族",
      "value": "53",
      "code": "LuoBaZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 63,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "高山族",
      "value": "54",
      "code": "GaoShanZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 64,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "佤族",
      "value": "55",
      "code": "WaZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 65,
      "status": 1
    },
    {
      "typeCode": "NationEnum",
      "label": "基诺族",
      "value": "56",
      "code": "JiNuoZu",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 66,
      "status": 1
    }
  ],
  "NoticeTypeEnum": [
    {
      "typeCode": "NoticeTypeEnum",
      "label": "通知",
      "value": "1",
      "code": "NOTICE",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "NoticeTypeEnum",
      "label": "公告",
      "value": "2",
      "code": "ANNOUNCEMENT",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    }
  ],
  "PlatformTypeEnum": [
    {
      "typeCode": "PlatformTypeEnum",
      "label": "微信公众号",
      "value": "1",
      "code": "微信公众号",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "PlatformTypeEnum",
      "label": "微信小程序",
      "value": "2",
      "code": "微信小程序",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    },
    {
      "typeCode": "PlatformTypeEnum",
      "label": "QQ",
      "value": "3",
      "code": "QQ",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 13,
      "status": 1
    },
    {
      "typeCode": "PlatformTypeEnum",
      "label": "支付宝",
      "value": "4",
      "code": "Alipay",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 14,
      "status": 1
    },
    {
      "typeCode": "PlatformTypeEnum",
      "label": "Gitee",
      "value": "5",
      "code": "Gitee",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 15,
      "status": 1
    }
  ],
  "PrintTypeEnum": [
    {
      "typeCode": "PrintTypeEnum",
      "label": "浏览器打印",
      "value": "1",
      "code": "Browser",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "PrintTypeEnum",
      "label": "客户端打印",
      "value": "2",
      "code": "Client",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    }
  ],
  "StatusEnum": [
    {
      "typeCode": "StatusEnum",
      "label": "启用",
      "value": "0",
      "code": "Enable",
      "tagType": "success",
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "StatusEnum",
      "label": "停用",
      "value": "1",
      "code": "Disable",
      "tagType": "danger",
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    }
  ],
  "TemplateTypeEnum": [
    {
      "typeCode": "TemplateTypeEnum",
      "label": "通知",
      "value": "1",
      "code": "Notice",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "TemplateTypeEnum",
      "label": "短信",
      "value": "2",
      "code": "SMS",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    },
    {
      "typeCode": "TemplateTypeEnum",
      "label": "邮件",
      "value": "3",
      "code": "Email",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 13,
      "status": 1
    },
    {
      "typeCode": "TemplateTypeEnum",
      "label": "微信",
      "value": "4",
      "code": "Wechat",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 14,
      "status": 1
    },
    {
      "typeCode": "TemplateTypeEnum",
      "label": "钉钉",
      "value": "5",
      "code": "DingTalk",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 15,
      "status": 1
    },
    {
      "typeCode": "TemplateTypeEnum",
      "label": "企业微信",
      "value": "7",
      "code": "WeChatWork",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 17,
      "status": 1
    }
  ],
  "YesNoEnum": [
    {
      "typeCode": "YesNoEnum",
      "label": "是",
      "value": "1",
      "code": "Y",
      "tagType": "success",
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 11,
      "status": 1
    },
    {
      "typeCode": "YesNoEnum",
      "label": "否",
      "value": "0",
      "code": "N",
      "tagType": "danger",
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 12,
      "status": 1
    }
  ],
  "code_gen_effect_type": [
    {
      "typeCode": "code_gen_effect_type",
      "label": "输入框",
      "value": "Input",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "输入框",
      "sort": 100,
      "status": 1
    },
    {
      "typeCode": "code_gen_effect_type",
      "label": "字典选择器",
      "value": "DictSelector",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "字典选择器",
      "sort": 100,
      "status": 1
    },
    {
      "typeCode": "code_gen_effect_type",
      "label": "常量选择器",
      "value": "ConstSelector",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "常量选择器",
      "sort": 100,
      "status": 1
    },
    {
      "typeCode": "code_gen_effect_type",
      "label": "枚举选择器",
      "value": "EnumSelector",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "枚举选择器",
      "sort": 100,
      "status": 1
    },
    {
      "typeCode": "code_gen_effect_type",
      "label": "树选择器",
      "value": "ApiTreeSelector",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "树选择器",
      "sort": 100,
      "status": 1
    },
    {
      "typeCode": "code_gen_effect_type",
      "label": "外键",
      "value": "ForeignKey",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "外键",
      "sort": 100,
      "status": 1
    },
    {
      "typeCode": "code_gen_effect_type",
      "label": "数字输入框",
      "value": "InputNumber",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "数字输入框",
      "sort": 100,
      "status": 1
    },
    {
      "typeCode": "code_gen_effect_type",
      "label": "时间选择",
      "value": "DatePicker",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "时间选择",
      "sort": 100,
      "status": 1
    },
    {
      "typeCode": "code_gen_effect_type",
      "label": "文本域",
      "value": "InputTextArea",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "文本域",
      "sort": 100,
      "status": 1
    },
    {
      "typeCode": "code_gen_effect_type",
      "label": "上传",
      "value": "Upload",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "上传",
      "sort": 100,
      "status": 1
    },
    {
      "typeCode": "code_gen_effect_type",
      "label": "开关",
      "value": "Switch",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "开关",
      "sort": 100,
      "status": 1
    }
  ],
  "code_gen_print_type": [
    {
      "typeCode": "code_gen_print_type",
      "label": "不需要",
      "value": "off",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "不需要打印支持",
      "sort": 100,
      "status": 1
    },
    {
      "typeCode": "code_gen_print_type",
      "label": "绑定打印模版",
      "value": "custom",
      "code": null,
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": "绑定打印模版",
      "sort": 101,
      "status": 1
    }
  ],
 
  "AccountTypeEnum": [
    {
      "typeCode": "AccountTypeEnum",
      "label": "普通账号",
      "value": 0,
      "code": "NormalUser",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 787,
      "status": 1
    },
    {
      "typeCode": "AccountTypeEnum",
      "label": "系统管理员",
      "value": 1,
      "code": "SysAdmin",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 898,
      "status": 1
    },
    {
      "typeCode": "AccountTypeEnum",
      "label": "超级管理员",
      "value": 2,
      "code": "SuperAdmin",
      "tagType": null,
      "styleSetting": null,
      "classSetting": null,
      "extData": null,
      "remark": null,
      "sort": 1009,
      "status": 1
    }
  ]
};
const props = defineProps({
	modelValue: {
		type: [String, Number, Boolean, Array, null],
		default: null,
		required: true,
	},
	code: {
		type: String,
		required: true,
	},
	propLabel: {
		type: String,
		default: 'label',
	},
	propValue: {
		type: [String, Number, Boolean],
		default: 'value',
	},
	onItemFilter: {
		type: Function,
		default: (dict: any): boolean => dict,
	},
	onItemFormatter: {
		type: Function as PropType<(dict: any) => string | undefined | null>,
		default: () => undefined,
	},
	renderAs: {
		type: String,
		default: 'tag',
		validator(value: string) {
			return ['tag', 'select', 'radio', 'checkbox'].includes(value);
		},
	},
	multiple: {
		type: Boolean,
		default: false,
	},
});

const state = reactive({
	dict: {} as DictItem | DictItem[] | undefined,
	dictData: [] as DictItem[],
	value: null as any,
});

const setDictValue = (value: any) => {
	state.value = value;
	state.dictData = dictList[props.code]?.filter(props.onItemFilter) ?? [];

	if (Array.isArray(value)) {
		state.dict = state.dictData.filter((x: any) => value.includes(x[props.propValue]));
		if (state.dict) {
			state.dict.forEach((item: any) => {
				if (!['success', 'warning', 'info', 'primary', 'danger'].includes(item.tagType ?? '')) {
					item.tagType = 'primary';
				}
			});
		}
	} else {
		state.dict = state.dictData.find((x: any) => x[props.propValue] == state.value);
		if (state.dict && !['success', 'warning', 'info', 'primary', 'danger'].includes((state.dict as DictItem).tagType ?? '')) {
			(state.dict as DictItem).tagType = 'primary';
		}
	}
};

watch(
	() => props.modelValue,
	(newValue) => setDictValue(newValue),
	{ immediate: true }
);
</script>

<template>
	<!-- 渲染标签 -->
	<template v-if="props.renderAs === 'tag'">
		<template v-if="Array.isArray(state.dict)">
			<el-tag v-for="(item, index) in state.dict" :key="index" v-bind="$attrs" :type="item.tagType" :style="item.styleSetting" :class="item.classSetting" class="mr-1">
				{{ onItemFormatter(item) ?? item[props.propLabel] }}
			</el-tag>
		</template>
		<template v-else>
			<el-tag v-if="state.dict" v-bind="$attrs" :type="state.dict.tagType" :style="state.dict.styleSetting" :class="state.dict.classSetting">
				{{ onItemFormatter(state.dict) ?? state.dict[props.propLabel] }}
			</el-tag>
			<span v-else>{{ state.value }}</span>
		</template>
	</template>
	<!-- 渲染选择器 -->
	<template v-if="props.renderAs === 'select'">
		<el-select v-model="state.value" v-bind="$attrs" :multiple="props.multiple" @change="(newValue: any) => emit('update:modelValue', newValue)">
			<el-option v-for="(item, index) in state.dictData" :key="index" :label="onItemFormatter(item) ?? item[props.propLabel]" :value="item[props.propValue]" />
		</el-select>
	</template>
	<!-- 渲染复选框（多选） -->
	<template v-if="props.renderAs === 'checkbox'">
		<el-checkbox-group v-model="state.value" v-bind="$attrs" @change="(newValue: any) => emit('update:modelValue', newValue)">
			<el-checkbox v-for="(item, index) in state.dictData" :key="index" :label="item[props.propValue]">
				{{ onItemFormatter(item) ?? item[props.propLabel] }}
			</el-checkbox>
		</el-checkbox-group>
	</template>
	<!-- 渲染单选框 -->
	<template v-if="props.renderAs === 'radio'">
		<el-radio-group v-model="state.value" v-bind="$attrs" @change="(newValue: any) => emit('update:modelValue', newValue)">
			<el-radio v-for="(item, index) in state.dictData" :key="index" :value="item[props.propValue]">
				{{ onItemFormatter(item) ?? item[props.propLabel] }}
			</el-radio>
		</el-radio-group>
	</template>
</template>

<style scoped lang="scss"></style>
